//弹窗相关自定义插件
import { Message, MessageBox, Notification, Loading } from 'element-ui'

let loadingInstance;

export default {
  /**
   * 普通消息提示
   * @param content
   */
  msg(content) {
    Message.info(content)
  },
  /**
   * 错误消息提示
   * @param content
   */
  msgError(content) {
    Message.error(content)
  },
  /**
   * 成功消息提示
   * @param content
   */
  msgSuccess(content) {
    Message.success(content)
  },
  /**
   * 警告消息提示
   * @param content
   */
  msgWarning(content) {
    Message.warning(content)
  },
  /**
   * 普通弹出框提示
   * @param content
   */
  alert(content) {
    MessageBox.alert(content, "系统提示")
  },
  /**
   * 错误弹出框提示
   * @param content
   */
  alertError(content) {
    MessageBox.alert(content, "系统提示", { type: 'error' })
  },
  /**
   * 成功弹出框提示
   * @param content
   */
  alertSuccess(content) {
    MessageBox.alert(content, "系统提示", { type: 'success' })
  },
  /**
   * 警告弹出框提示
   * @param content
   */
  alertWarning(content) {
    MessageBox.alert(content, "系统提示", { type: 'warning' })
  },
  /**
   * 普通右侧通知
   * @param content
   */
  notify(content) {
    Notification.info(content)
  },
  /**
   * 错误右侧通知
   * @param content
   */
  notifyError(content) {
    Notification.error(content);
  },
  /**
   * 成功右侧通知
   * @param content
   */
  notifySuccess(content) {
    Notification.success(content)
  },
  /**
   * 警告右侧通知
   * @param content
   */
  notifyWarning(content) {
    Notification.warning(content)
  },
  /**
   * 弹出确认窗体
   * @param content
   * @returns {*|void}
   */
  confirm(content) {
    return MessageBox.confirm(content, "系统提示", {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
      type: "warning",
    })
  },
  /**
   * 打开遮罩层
   * @param content
   */
  loading(content) {
    loadingInstance = Loading.service({
      lock: true,
      text: content,
      spinner: "el-icon-loading",
      background: "rgba(0, 0, 0, 0.7)",
    })
  },
  /**
   * 关闭遮罩层
   */
  closeLoading() {
    loadingInstance.close();
  }
}
